package cn.gson.school.entity.jiaoxue;

import java.util.Date;

import javax.persistence.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import cn.gson.school.entity.xitong.UserEntity;

/**
 * 教学模块--学员详情表 学员详情id；班级id；用户id；身份证号；性别；年龄；学籍号；本人手机号； 地址；父母电话；父母姓名；QQ；入学时间；总学分；
 * 第一次缴纳学费金额；第一次缴纳后所欠金额；第一次缴纳方式；第一次缴纳时间 第二次缴纳学费金额；第二次缴纳后所欠金额；第二次缴纳方式；第二次缴纳时间
 * 第三次缴纳学费金额；第三次缴纳后所欠金额；第三次缴纳方式；第三次缴纳时间
 */
@Entity
@Table(name = "tb_jx_student")
public class StudentEntity {
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name = "studentinfo_id")
	private Long stuId;

	/**
	 * 用户名
	 */
	@Column(name = "user_name", nullable = false, length = 64)
	private String studentName;
	
	/**
	 * 学生和班级的一对一
	 */
	@Column(name = "class_id")
	private Long classId;
	
	
	/** 班级表外键id */

	/**
	 * 学生和用户的一对一
	 */
	@OneToOne
	@JoinColumn(name = "user_id")
	private UserEntity userId;

	private String idcard;

	private Integer gender;

	private Integer age;

	@Column(name = "schroll_num")
	private String schrollNum;//学籍号

	@Column(name = "contact_num")
	private String contactNum;//联系电话

	private String address;

	@Column(name = "parent_phone")
	private String parentPhone;

	@Column(name = "parent_name")
	private String parentName;

	private String qq;

	@Column(name = "entrance_time")
	@JsonFormat(pattern="yyyy-MM-ddHH:mm:ss")
	private Date entranceTime;

	@Column(name = "total_credits")
	private Integer totalCredits;

	private String state;

	@Column(name = "one_money")
	private Double oneMoney;

	@Column(name = "one_owe_money")
	private Double oneOweMoney;

	@Column(name = "one_money_mode")
	private String oneMoneyMode;

	@Column(name = "one_mode_time")
	private Date oneModeTime;

	@Column(name = "two_money")
	private Double twoMoney;

	@Column(name = "two_owe_money")
	private Double twoOweMoney;

	@Column(name = "two_money_mode")
	private String twoMoneyMode;

	@Column(name = "two_mode_time")
	private Date twoModeTime;

	@Column(name = "three_money")
	private Double threeMoney;

	@Column(name = "three_owe_money")
	private Double threeOweMoney;

	@Column(name = "three_money_mode")
	private String threeMoneyMode;

	@Column(name = "three_mode_time")
	private Date threeModeTime;

	@Column(name = "is_delete")
	private Integer delete;

	public Integer getDelete() {
		return delete;
	}

	public void setDelete(Integer delete) {
		this.delete = delete;
	}

	public Long getStuId() {
		return stuId;
	}

	public void setStuId(Long stuId) {
		this.stuId = stuId;
	}

	public Long getClassId() {
		return classId;
	}

	public void setClassId(Long classId) {
		this.classId = classId;
	}

	public UserEntity getUserId() {
		return userId;
	}

	public void setUserId(UserEntity userId) {
		this.userId = userId;
	}

	public String getIdcard() {
		return idcard;
	}

	public void setIdcard(String idcard) {
		this.idcard = idcard;
	}

	public Integer getGender() {
		return gender;
	}

	public void setGender(Integer gender) {
		this.gender = gender;
	}

	public Integer getAge() {
		return age;
	}

	public void setAge(Integer age) {
		this.age = age;
	}

	public String getSchrollNum() {
		return schrollNum;
	}

	public void setSchrollNum(String schrollNum) {
		this.schrollNum = schrollNum;
	}

	public String getContactNum() {
		return contactNum;
	}

	public void setContactNum(String contactNum) {
		this.contactNum = contactNum;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public String getParentPhone() {
		return parentPhone;
	}

	public void setParentPhone(String parentPhone) {
		this.parentPhone = parentPhone;
	}

	public String getParentName() {
		return parentName;
	}

	public void setParentName(String parentName) {
		this.parentName = parentName;
	}

	public String getQq() {
		return qq;
	}

	public void setQq(String qq) {
		this.qq = qq;
	}

	public Date getEntranceTime() {
		return entranceTime;
	}

	public void setEntranceTime(Date entranceTime) {
		this.entranceTime = entranceTime;
	}

	public Integer getTotalCredits() {
		return totalCredits;
	}

	public void setTotalCredits(Integer totalCredits) {
		this.totalCredits = totalCredits;
	}

	public String getState() {
		return state;
	}

	public void setState(String state) {
		this.state = state;
	}

	public Double getOneMoney() {
		return oneMoney;
	}

	public void setOneMoney(Double oneMoney) {
		this.oneMoney = oneMoney;
	}

	public Double getOneOweMoney() {
		return oneOweMoney;
	}

	public void setOneOweMoney(Double oneOweMoney) {
		this.oneOweMoney = oneOweMoney;
	}

	public String getOneMoneyMode() {
		return oneMoneyMode;
	}

	public void setOneMoneyMode(String oneMoneyMode) {
		this.oneMoneyMode = oneMoneyMode;
	}

	public Date getOneModeTime() {
		return oneModeTime;
	}

	public void setOneModeTime(Date oneModeTime) {
		this.oneModeTime = oneModeTime;
	}

	public Double getTwoMoney() {
		return twoMoney;
	}

	public void setTwoMoney(Double twoMoney) {
		this.twoMoney = twoMoney;
	}

	public Double getTwoOweMoney() {
		return twoOweMoney;
	}

	public void setTwoOweMoney(Double twoOweMoney) {
		this.twoOweMoney = twoOweMoney;
	}

	public String getTwoMoneyMode() {
		return twoMoneyMode;
	}

	public void setTwoMoneyMode(String twoMoneyMode) {
		this.twoMoneyMode = twoMoneyMode;
	}

	public Date getTwoModeTime() {
		return twoModeTime;
	}

	public void setTwoModeTime(Date twoModeTime) {
		this.twoModeTime = twoModeTime;
	}

	public Double getThreeMoney() {
		return threeMoney;
	}

	public void setThreeMoney(Double threeMoney) {
		this.threeMoney = threeMoney;
	}

	public Double getThreeOweMoney() {
		return threeOweMoney;
	}

	public void setThreeOweMoney(Double threeOweMoney) {
		this.threeOweMoney = threeOweMoney;
	}

	public String getThreeMoneyMode() {
		return threeMoneyMode;
	}

	public void setThreeMoneyMode(String threeMoneyMode) {
		this.threeMoneyMode = threeMoneyMode;
	}

	public Date getThreeModeTime() {
		return threeModeTime;
	}

	public void setThreeModeTime(Date threeModeTime) {
		this.threeModeTime = threeModeTime;
	}


	public String getStudentName() {
		return studentName;
	}

	public void setStudentName(String studentName) {
		this.studentName = studentName;
	}

	@Override
	public String toString() {
		return "StudentEntity [stuId=" + stuId + ", studentName=" + studentName + ", classId=" + classId + ", userId="
				+ userId + ", idcard=" + idcard + ", gender=" + gender + ", age=" + age + ", schrollNum=" + schrollNum
				+ ", contactNum=" + contactNum + ", address=" + address + ", parentPhone=" + parentPhone
				+ ", parentName=" + parentName + ", qq=" + qq + ", entranceTime=" + entranceTime + ", totalCredits="
				+ totalCredits + ", state=" + state + ", oneMoney=" + oneMoney + ", oneOweMoney=" + oneOweMoney
				+ ", oneMoneyMode=" + oneMoneyMode + ", oneModeTime=" + oneModeTime + ", twoMoney=" + twoMoney
				+ ", twoOweMoney=" + twoOweMoney + ", twoMoneyMode=" + twoMoneyMode + ", twoModeTime=" + twoModeTime
				+ ", threeMoney=" + threeMoney + ", threeOweMoney=" + threeOweMoney + ", threeMoneyMode="
				+ threeMoneyMode + ", threeModeTime=" + threeModeTime + ", delete=" + delete + "]";
	}


}